WOLF core
WOLF: A Modular Estimation Framework for Robotics
XXXXXXXXXXXXXXXXXXXXXXXXvoid(0)" frameborder="0" name="MSearchResults" id="MSearchResults">
solver_manager.h File Reference

Go to the source code of this file.

Classes

class  wolf::SolverManager
 Solver manager for WOLF. More...
 

Namespaces

namespace  wolf
 

Macros

#define WOLF_SOLVER_CREATE(SolverClass)
 

Macro Definition Documentation

◆ WOLF_SOLVER_CREATE

#define WOLF_SOLVER_CREATE (   SolverClass)
Value:
static SolverManagerPtr create(const ProblemPtr& _problem, \
const YAML::Node& _input_node, \
const std::vector<std::string>& _folders_schema = {}) \
{ \
if (not _folders_schema.empty()) \
{ \
auto server = yaml_schema_cpp::YamlServer(_folders_schema); \
server.setYaml(_input_node); \
if (not server.applySchema(#SolverClass)) \
{ \
WOLF_ERROR(server.getLog()); \
return nullptr; \
} \
return std::shared_ptr<SolverClass>(new SolverClass(_problem, server.getNode())); \
} \
return std::shared_ptr<SolverClass>(new SolverClass(_problem, _input_node)); \
} \
static SolverManagerPtr create(const ProblemPtr& _problem, \
const std::string& _yaml_filepath, \
const std::vector<std::string>& _folders_schema) \
{ \
auto server = yaml_schema_cpp::YamlServer(_folders_schema, _yaml_filepath); \
if (not server.applySchema(#SolverClass)) \
{ \
WOLF_ERROR(server.getLog()); \
return nullptr; \
} \
return create(_problem, server.getNode(), {}); \
}